home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-isis-atipx-00.txt < prev    next >
Text File  |  1993-07-08  |  61KB  |  1,416 lines

  1.           ISIS Working Group                                 Radia Perlman
  2.           Internet-draft                                      Chris Gunner
  3.                                                    Digital Equipment Corp.
  4.                                                                  June 1993
  5.  
  6.  
  7.  
  8.                             Further Integration of IS-IS;
  9.                          Appletalk, IPX, and Other Protocols
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                                   Table of Contents
  17.  
  18.            1.  Status of this Memo                                    2
  19.            2.  Abstract                                               2
  20.            3.  Introduction                                           2
  21.            4.  Issues To Consider                                     3
  22.            4.1.  Disambiguating Native Mode Packets                   3
  23.            4.2.  Disambiguating Encapsulated Packets                  3
  24.            4.3.  When Is Encapsulation Desirable?                     4
  25.            4.4.  Metrics                                              5
  26.            4.4.1.  IPX Ticks Metric                                   6
  27.            4.5.  Propagation Of Protocol Y Routing Information        7
  28.            4.6.  Limited Interconnectivity Over The Backbone          9
  29.            4.7.  Making Configuration Easier                         10
  30.            4.8.  Accomodating Overlapping Addresses                  11
  31.            4.9.  When To Encapsulate                                 12
  32.            4.10.  Tunnel Protocol                                    13
  33.            4.11.  Routing Algorithm                                  14
  34.            5.  Specific Proposal                                     15
  35.            5.1.  Data Packet Encapsulation                           15
  36.            5.2.  "Protocols Supported" Field                         16
  37.            5.3.  Network Management Information                      16
  38.            5.3.1.  Parameters Node-wide (not Per Circuit Or Tunnel)  16
  39.            5.3.2.  Parameters Per Circuit                            17
  40.            5.3.3.  Parameters Per Tunnel                             17
  41.            6.  Appletalk Specific Proposal                           18
  42.            6.1.  Appletalk Only Environments                         18
  43.            6.2.  Zone Information                                    18
  44.            6.3.  LSPs                                                19
  45.            7.  Specific Proposal for IPX                             20
  46.            7.1.  Ticks Metric                                        20
  47.            7.2.  LSPs                                                21
  48.            7.3.  IPX-specific Network Management Information         22
  49.            8.  Security Considerations                               22
  50.            9.  References                                            22
  51.            10.  Working Group information                            23
  52.            11.  Author's Address                                     24
  53.  
  54.  
  55.  
  56.  
  57.  
  58.           Perlman   (Internet-Draft expires end December 1993)    [Page 1]
  59.  
  60.           Internet-Draft     Further Integration of ISIS         June 1993
  61.  
  62.  
  63.  
  64.           1. Status of this Memo
  65.  
  66.           This document is an Internet Draft describing a method of
  67.           extending the Integrated ISIS protocol (defined in RFC 1195)
  68.           with routing information from additional protocols --
  69.           specifically NetWare IPX and Appletalk.
  70.  
  71.           Internet Drafts are working documents of the Internet
  72.           Engineering Task Force (IETF), its Areas, and its Working
  73.           Groups. Note that other groups may also distribute working
  74.           documents as Internet Drafts.
  75.  
  76.           Internet Drafts are draft documents valid for a maximum of six
  77.           months. This Internet draft expires at the end of December 1993.
  78.           Internet drafts may be updated, replaced, or obsoleted by other
  79.           documents at any time. It is not appropriate to use Internet
  80.           Drafts as reference material or to cite them other than as a
  81.           "working draft" or "work in progress".
  82.  
  83.           Please check the I-D abstract listing contained in each Internet
  84.           Draft directory to learn the current status of this or any other
  85.           Internet Draft.
  86.  
  87.           This is a draft document of the ISIS working group.
  88.  
  89.           Distribution of this memo is unlimited. Please send comments to
  90.           the ISIS working group:
  91.  
  92.                   isis@merit.edu
  93.  
  94.  
  95.           2. Abstract
  96.  
  97.           This document defines a method of extending the Integrated ISIS
  98.           protocol (defined in RFC 1195) with routing information from
  99.           additional protocols -- specifically NetWare IPX and Appletalk.
  100.  
  101.  
  102.           3. Introduction
  103.  
  104.           This document describes how to add support for new protocols
  105.           into IS-IS. Once routes are calculated, a packet can either be
  106.           carried in "native mode" or "encapsulated" in a Network Layer
  107.           header supported by all the backbone IS-IS routers. This design
  108.           allows network managers to configure which types of packets are
  109.           encapsulated and which are carried in native mode.
  110.  
  111.           The document describes generic support for protocols other than
  112.           IP and CLNP, and then describes specific packet formats for
  113.           support of Appletalk and IPX.
  114.  
  115.  
  116.  
  117.           Perlman   (Internet-Draft expires end December 1993)    [Page 2]
  118.  
  119.           Internet-Draft     Further Integration of ISIS         June 1993
  120.  
  121.  
  122.  
  123.           4. Issues To Consider
  124.  
  125.  
  126.           4.1. Disambiguating Native Mode Packets
  127.  
  128.           If multiple Network Layer protocols are being carried over a
  129.           link, there must be a way to distinguish them. There is no way
  130.           in general, by looking at the packet itself, that a protocol X
  131.           packet can be distinguished from a protocol Y packet, unless we
  132.           are extraordinarily lucky that either the independently designed
  133.           protocols happen to be defined so that no packet from one could
  134.           possibly be interpreted as a legal packet in the other, or that
  135.           the people designing protocol Y took great care to design their
  136.           packets to distinguish them from protocol X packets.
  137.  
  138.           Given that we can't count on being extraordinarily lucky, we
  139.           must ensure that each data link provides a method of specifying
  140.           the protocol type of the packet. Where protocols do (Ethernet,
  141.           PPP), all that is needed is to get a value assigned for each
  142.           protocol we wish to support. Where protocols don't (HDLC), we
  143.           must provide some mechanism, for instance by adding a protocol
  144.           type field in the beginning of what HDLC considers the initial
  145.           portion of the data packet. Where a protocol defines multiple
  146.           ways of doing it (802 LANs, which provide for SAPs for a few
  147.           protocols, and SNAP SAP encoding for the others, where either 5
  148.           byte protocol types are used, or 2 byte Ethernet protocol types
  149.           are used with a prespecified OUI), we need to specify which
  150.           method should be used for each protocol supported, and define
  151.           the values.
  152.  
  153.  
  154.           4.2. Disambiguating Encapsulated Packets
  155.  
  156.           The same problem occurs if we encapsulate various Network Layer
  157.           protocols in a Network Layer header. Some Network Layer
  158.           protocols (IP) have a "protocol type" field. Others (CLNP) do
  159.           not. Probably the simplest method of providing protocol
  160.           demultiplexing in CLNP is by adding a protocol type field to
  161.           what would be considered the beginning of the data packet, in an
  162.           encapsulated packet. In order to avoid having to administer yet
  163.           another protocol type field, we should standardize on Ethernet
  164.           protocol types (in which case the field would be 2 bytes), PPP
  165.           protocol types (in which case the field would be 2 bytes), IP
  166.           protocol types (in which case the field would be 1 byte), or 802
  167.           protocol types (in which case the field would be 5 bytes). The
  168.           other possibility is to use the bottom byte of the destination
  169.           address in CLNP (the "SEL" byte) as a protocol type field, and
  170.           define the values to be the same as IP protocol types.
  171.  
  172.           In either case (if we use the SEL byte or we use the first part
  173.  
  174.  
  175.  
  176.           Perlman   (Internet-Draft expires end December 1993)    [Page 3]
  177.  
  178.           Internet-Draft     Further Integration of ISIS         June 1993
  179.  
  180.  
  181.  
  182.           of the data as a protocol type), either we give a pointer to
  183.           some other standards body that defines protocol types, or we
  184.           have to give them out ourselves.
  185.  
  186.  
  187.           4.3. When Is Encapsulation Desirable?
  188.  
  189.           Let's assume that all the backbone routers support at least one
  190.           common Network Layer protocol, probably IP or CLNP. Let's call
  191.           the common Network Layer protocol "protocol X". A new protocol,
  192.           say protocol Y, can be supported either in native mode or
  193.           encapsulated with a protocol X header.
  194.  
  195.           Encapsulation of protocol Y packets is desirable if:
  196.  
  197.           1.  Not all backbone routers support protocol Y
  198.  
  199.           2.  There are multiple independent protocol Y networks with
  200.               overlapping addresses, and the encapsulation allows
  201.               extension of the addressing (see section on "domains").
  202.  
  203.           3.  Protocol Y data packet format has limited capabilities, for
  204.               instance a small maximum hop count as in the case of
  205.               Appletalk. Encapsulating Appletalk allows the entire IS-IS
  206.               backbone to be treated as a single Appletalk hop.
  207.  
  208.           4.  It might be easier to build high performance routers if
  209.               they only have to forward a small number of network layer
  210.               headers. So performance might actually be enhanced if there
  211.               were only one packet format in the backbone.
  212.  
  213.           The disadvantages of encapsulation are:
  214.  
  215.           1.  It may be a performance problem for the encapsulating and
  216.               decapsulating routers. Theoretically, encapsulating in a
  217.               Protocol X header should be no different from encapsulating
  218.               in any data link header, which any router must do when it
  219.               is forwarding a packet. However, there are some router
  220.               implementations that will forward much more slowly if they
  221.               have to encapsulate or decapsulate.
  222.  
  223.           2.  It makes the data packets bigger.
  224.  
  225.           3.  If protocol Y packets can be large, it leads to the
  226.               possibility of the decapsulating router having to do
  227.               reassembly. Luckily with IPX and Appletalk, packets larger
  228.               than 576 bytes are not allowed, so we can avoid
  229.               fragmentation.
  230.  
  231.  
  232.  
  233.  
  234.  
  235.           Perlman   (Internet-Draft expires end December 1993)    [Page 4]
  236.  
  237.           Internet-Draft     Further Integration of ISIS         June 1993
  238.  
  239.  
  240.  
  241.           4.4. Metrics
  242.  
  243.           Network Layer protocols evolve with their own routing protocols
  244.           and metrics. If we were to support only protocol Y end systems,
  245.           things would be much simpler, but we have to assume there are
  246.           islands of protocol Y routers, and we have to interact with them
  247.           without expecting anyone to modify the code in the protocol Y
  248.           routers.
  249.  
  250.           Appletalk and IPX both compute a metric of hops (though IPX
  251.           additionally computes a metric known as "ticks"). Both Appletalk
  252.           and IPX use a protocol similar to IP RIP, and the maximum hops
  253.           that can be reported is 15. The ticks metric for IPX is rather
  254.           critical, since it is intended to give the Transport Layer a
  255.           good estimate of the round trip delay. The IPX Transport layer
  256.           does not measure round trip delay and adapt to it -- it takes
  257.           the ticks value and sticks with it for the duration of a
  258.           conversation (based on my knowledge of IPX).
  259.  
  260.           In this part of the paper, when we are discussing protocols
  261.           generically, we will refer to "the RIP-like routing protocol
  262.           that routes Protocol Y" as "GRP", for "Generic Routing
  263.           Protocol".
  264.  
  265.           IS-IS has a link cost of between 1 and 64 (at least for CLNP and
  266.           IP -it can be larger when reporting other protocols since the
  267.           option for reporting a protocol Y destination in an LSP is not
  268.           yet defined). If there is an IS-IS router R2 with a GRP neighbor
  269.           R1, and R2 has computed a path cost to protocol Y destination D
  270.           as 227, what is R2 supposed to report in its GRP message to R1?
  271.           It is dangerous to ever decrease a metric, since the
  272.           reachability of D can leak out some other part of the GRP
  273.           island, and routing loops can be created, since D can look
  274.           closer from the other end of the GRP island, even though D is
  275.           not reachable within the GRP island.
  276.  
  277.           Various possibilities are:
  278.  
  279.           1.  Scale GRP metrics to IS-IS metrics. For instance, if the
  280.               maximum path cost in IS-IS is 1023, then each GRP hop might
  281.               be declared to equal a cost of 64. This requires the
  282.               ability of reporting a link cost equal to 1023 (more than a
  283.               byte).
  284.  
  285.           2.  Use hops (or whatever the protocol Y metric is) whenever
  286.               reporting cost to a protocol Y destination. The way this
  287.               would work is, suppose level 1 IS-IS router R2 is attached
  288.               to GRP router R1. R2 hears, through GRP, that R1 can reach
  289.               D at a cost of 5. R2 reports "6" in its LSP as the cost to
  290.               D. Level 2 router R3, in the same area as R2, needs to
  291.  
  292.  
  293.  
  294.           Perlman   (Internet-Draft expires end December 1993)    [Page 5]
  295.  
  296.           Internet-Draft     Further Integration of ISIS         June 1993
  297.  
  298.  
  299.  
  300.               report D in its level 2 LSP. It can figure out the number
  301.               of hops on its IS-IS path to R1, add that to 6, to get the
  302.               number of hops R3 should report as its distance to D. This
  303.               has problems in that unless all level 2 routers in the area
  304.               report D, and unless all level 2 routers in a foreign area
  305.               leak information about D into their LSP, the apparent cost
  306.               to D can rise quickly, and become greater than 15
  307.  
  308.               ----------+  +---------+===========+----------+
  309.               D   GRP   |  |         |  level    |          |
  310.                cloud   R1--+-R2 area R3 2 net    R4  area    R5--R6
  311.               ----------+  |         |           |          |
  312.                            +---------+===========+-----------+
  313.  
  314.           3.  A variant on the previous strategy is to only increment
  315.               hops by 1, each time the cost to D is leaked from level to
  316.               level. So in the previous case, R2 would report 6 in its
  317.               LSP, as the cost to D. R3 would report 7. Level 2 router R4
  318.               in a foreign area would report 8. Level 1 router R5 in R4's
  319.               area would report 9, to a GRP neighbor R6.
  320.  
  321.               I'll call this method "pseudo-hops".
  322.  
  323.               Pseudo-hops has two slight disadvantages. First of all, it
  324.               does not allow computation of optimal interarea paths,
  325.               since there's no way to really compare the cost of the path
  326.               to D through two different level 2 routers. (But there is
  327.               no real reason to optimize Protocol Y routes when we feel
  328.               it is OK to send interarea CLNP traffic to the nearest
  329.               level 2 router). Second of all, it means (as in the case of
  330.               Appletalk), that a destination might appear reachable to
  331.               routing, but actually be unreachable because the path is
  332.               more than 15 hops, and therefore the data packet will not
  333.               survive the journey. Again, this is not too serious. If
  334.               this is a problem then the network can be configured to use
  335.               encapsulation when actual paths exceed 16 hops, if there is
  336.               a protocol with that limitation.
  337.  
  338.           I advocate advertising reachability of protocol Y destination D
  339.           with either a real IS-IS cost or with pseudo-hops. A real IS-IS
  340.           cost is preferable and is used when D is directly reachable from
  341.           the IS-IS router reporting D in its level 1 LSP. Pseudohops is
  342.           used when the reachability of D is discovered through GRP, when
  343.           summarizing information into or out of an area.
  344.  
  345.  
  346.           4.4.1. IPX Ticks Metric
  347.  
  348.           With IPX, we need to be able to give a reasonable approximation
  349.           to what IPX RIP would calculate as ticks. I suggest we report
  350.  
  351.  
  352.  
  353.           Perlman   (Internet-Draft expires end December 1993)    [Page 6]
  354.  
  355.           Internet-Draft     Further Integration of ISIS         June 1993
  356.  
  357.  
  358.  
  359.           two metrics when reporting IPX destinations. The first metric
  360.           will either be an IS-IS cost or pseudohops. It is used for
  361.           actually calculating the path to the IPX destination. The second
  362.           metric is ticks. We could require every link in the network to
  363.           be configured with a ticks cost in addition to other metrics.
  364.           Instead, I'd recommend that we configure a "ticks scaling"
  365.           parameter. IS-IS metrics ought to be roughly proportional to
  366.           delay, just like ticks are. However, they might be scaled
  367.           differently than IPX nodes are expecting. If IPX is integrated
  368.           into an already operating network, it is not reasonable to
  369.           reconfigure all the link costs so that the ticks metric will be
  370.           right. Instead, giving a scaling factor, like saying that the
  371.           IS-IS configured default metric is 5 times the IPX ticks, (and
  372.           you'd round up after division) will probably suffice.
  373.  
  374.  
  375.           4.5. Propagation Of Protocol Y Routing Information
  376.  
  377.           With CLNP and IP, level 1 routers only need to know which
  378.           destinations are reachable in the area. If a destination is not
  379.           reachable within the area the packet is sent to the nearest
  380.           level 2 router. With CLNP the area is explicitly in the address.
  381.           With IP, any address not reachable in the area can be concluded
  382.           to reside outside the area. CLNP was designed for hierarchical
  383.           routing. The reason IP routing can work this way is because of
  384.           the ability to summarize a lot of destinations by advertising a
  385.           short mask. In the case of IP, it is possible to advertise
  386.           "default route", which is a mask of all 0's.
  387.  
  388.           Unfortunately, IPX and Appletalk have no means of summarizing
  389.           routing information. Even if IS-IS routers were capable of
  390.           coping with the concept that anything not reachable in the area
  391.           is reachable outside the area, they would not be able to give
  392.           routing information to a neighboring GRP router. In the case of
  393.           IPX, every network number must be explicitly stated to the RIP
  394.           neighbor, or it will assume that network is not reachable.
  395.           Likewise with Appletalk, though Appletalk does have the concept
  396.           of network number ranges. Theoretically, one could use a huge
  397.           range as sort of a "default route", but Appletalk routers cannot
  398.           cope with overlapping address ranges, and there are higher layer
  399.           protocols that need to translate from "zone names" to specific
  400.           network number ranges for the LANs on which those zones reside.
  401.           Therefore, in the case of IPX and Appletalk we do not get the
  402.           benefit of hierarchy. Information about destinations reachable
  403.           within an area must get fed into the level 2 routers, which must
  404.           in turn feed the information into all the areas.
  405.  
  406.           The most straightforward method of feeding information from area
  407.           A into level 2, is for the level 2 routers in area A to compute
  408.           reachability to all relevant destinations in A, and include
  409.  
  410.  
  411.  
  412.           Perlman   (Internet-Draft expires end December 1993)    [Page 7]
  413.  
  414.           Internet-Draft     Further Integration of ISIS         June 1993
  415.  
  416.  
  417.  
  418.           those destinations as "neighbors" in their level 2 LSP.
  419.           Likewise, after computing their level 2 reachability, they will
  420.           add to their level 1 LSPs in area A any relevant destinations
  421.           they have discovered through level 2.
  422.  
  423.           If we want optimal routing to protocol Y destinations, then
  424.           every level 2 router would have to report an accurate cost from
  425.           itself to each destination. Since we believe it is reasonable to
  426.           trade off optimal routing for scaling of the routing algorithm,
  427.           we propose that only a single level 2 router in each area report
  428.           reachability information into or out of the area. We'll call
  429.           that level 2 router the Designated Level 2 IS for area A. It is
  430.           chosen based on lowest ID, of the level 2 routers in area A that
  431.           support protocol Y.
  432.  
  433.           If none of the level 2 routers in area A support protocol Y, it
  434.           is possible to leak protocol Y information into and out of A
  435.           through use of a "tunnel". A tunnel in this case is manually
  436.           configured between level 1 routers in two different areas. A
  437.           router connected to a tunnel summarizes all the protocol Y
  438.           destinations reachable within its area over the tunnel. It does
  439.           not report destinations reachable from other areas that have
  440.           been discovered either through tunnels or through level 2
  441.           routers. (It is possible to require a tunnel from area A even
  442.           though level 2 routers in A support protocol Y, in the case
  443.           where area B has no protocol-Y capable level 2 routers, in order
  444.           to share information between area A and area B.)
  445.  
  446.           The requirement that a tunnel between area A and B only report
  447.           reachability of destinations directly reachable from A and B
  448.           (not learned through other tunnels or from level 2) makes things
  449.           simpler, but it has the potential disadvantage that if there
  450.           were n areas that needed to be connected through tunnels, there
  451.           would need to be n**2 tunnels configured, and probably more to
  452.           handle the case of tunnel routers being down. However, if there
  453.           is a large amount of protocol Y sprinkled around the network,
  454.           and therefore many areas with protocol Y information, then the
  455.           cost of upgrading the level 2 routers to handle protocol Y
  456.           information is relatively small. If level 2 routers can handle
  457.           protocol Y information, tunnels are not necessary.
  458.  
  459.           We will make the restriction that Protocol Y information leaked
  460.           out of area A (either through tunnels or into level 2) only
  461.           include Protocol Y destination reachable within the area. The
  462.           way this is enforced is to mark, in level 1 LSPs, whether
  463.           Protocol Y destination D is reachable within the area or not
  464.           (the "I/E" flag, see section 4.2). (Level 2 LSP does not need
  465.           the flag since none of the information is intra-area.) R learns
  466.           of D, and therefore reports it in its level 1 LSP in one of the
  467.           following ways:
  468.  
  469.  
  470.  
  471.           Perlman   (Internet-Draft expires end December 1993)    [Page 8]
  472.  
  473.           Internet-Draft     Further Integration of ISIS         June 1993
  474.  
  475.  
  476.  
  477.           1.  R has been manually configured that D is reachable on one
  478.               of its circuits (in which case R sets the flag, indicating
  479.               D is intra-area).
  480.  
  481.           2.  R learned about D through a GRP neighbor (in which case R
  482.               sets the flag)
  483.  
  484.           3.  R is a level 2 router, and has learned about D through its
  485.               level 2 LSP database (in which case R clears the flag)
  486.  
  487.           4.  R is a tunnel endpoint, and has learned about D through the
  488.               tunnel (in which case R clears the flag)
  489.  
  490.  
  491.           4.6. Limited Interconnectivity Over The Backbone
  492.  
  493.           It is possible that someone has many independently grown
  494.           Protocol Y islands, and would like to interconnect some of them.
  495.           The easiest way is to attach them all to the common backbone.
  496.           But it may not be desired to provide full logical connectivity
  497.           for various reasons:
  498.  
  499.           1.  Since Protocol Y (for Y=Appletalk or IPX at least) is not
  500.               hierarchical, the total amount of information in IS-IS
  501.               might be too great. It might be desired to limit the spread
  502.               of knowledge of certain islands, since it is known that
  503.               they do not need to communicate beyond a particular extent.
  504.  
  505.           2.  There might be security reasons why only some of the
  506.               islands should be allowed to communicate with other
  507.               islands.
  508.  
  509.           3.  There might be overlapping addresses. Proper use of CLNP
  510.               and IP require acquiring guaranteed unique addresses. This
  511.               is not true of IPX and Appletalk, so merging networks will
  512.               not necessarily work.
  513.  
  514.           The method of accomplishing this is to allow configuration of
  515.           when protocol Y information should be propagated. The places
  516.           where such configuration is necessary are:
  517.  
  518.           1.  At a level 1 router -- each link should be configurable
  519.               about which types of Protocol Y information should have
  520.               routing information propagated across the link. For
  521.               instance, in the case of IPX and Appletalk, each link would
  522.               be independently configured as to which network numbers
  523.               should be included in GRP information sent on that link,
  524.               and as to which network numbers should be accepted from GRP
  525.               for inclusion in level 1 LSPs, and propagation to other GRP
  526.               neighbors on other links. So for each link, the level 1
  527.  
  528.  
  529.  
  530.           Perlman   (Internet-Draft expires end December 1993)    [Page 9]
  531.  
  532.           Internet-Draft     Further Integration of ISIS         June 1993
  533.  
  534.  
  535.  
  536.               router will be configured with a set of network numbers it
  537.               should propagate to the link, and a set of network numbers
  538.               to propagate from the link. Also, the level 1 router should
  539.               be configured with a set of network numbers it should
  540.               propagate to level 1 routing, and a set of network numbers
  541.               it should propagate from level 1 routing to any link.
  542.  
  543.               This should be wildcardable in various ways -- either by
  544.               specifying a domain (see next section), or specifying a
  545.               very wide network number range.
  546.  
  547.           2.  At a level 2 router -- it must be configurable with network
  548.               numbers it should pass from level 1 into level 2, and vice
  549.               versa.
  550.  
  551.           3.  At a tunnel endpoint -- same configuration as for a level 2
  552.               router
  553.  
  554.  
  555.           4.7. Making Configuration Easier
  556.  
  557.           It is usually the case that for management purposes an entire
  558.           island would be treated identically, in terms of where
  559.           information about that island should propagate. At the expense
  560.           of putting a small additional field into LSPs, it is possible to
  561.           give an island a "domain" name, which could be simply a one byte
  562.           field, though we may prefer a different format in order to be
  563.           compatible with AURP. Then, instead of configuring a node with
  564.           all the explicit network numbers to be propagated, instead the
  565.           information can be summarized with a domain number.
  566.  
  567.  
  568.           -------------+  +---------+===========+----------+
  569.               GRP      |  |         |  level    |           |
  570.            cloud   R2--+--R1  area  R3 2 net    R4  area    R5--R6
  571.           -------------+  |     A   |           |     B     |
  572.                           +---------+===========+-----------+
  573.                                           |
  574.                                           R8--- area C
  575.  
  576.  
  577.  
  578.           For instance, R1 might be configured to declare all network
  579.           numbers it hears from R2 as in "domain 7". It might further be
  580.           configured that it should propagate information about everything
  581.           in domain 7 into its level 1 LSP. R3 might be configured to
  582.           propagate information about domain 7 into its level 2 LSP. R4,
  583.           on the other hand, might be configured to ignore information
  584.           about domain 7. R8 might be configured to accept information
  585.           about domain 7. With very little configuration, information
  586.  
  587.  
  588.  
  589.           Perlman   (Internet-Draft expires end December 1993)   [Page 10]
  590.  
  591.           Internet-Draft     Further Integration of ISIS         June 1993
  592.  
  593.  
  594.  
  595.           about all the network numbers in the GRP cloud is propagated to
  596.           area C, but not to area B.
  597.  
  598.           So the configuration is actually two stages. First network
  599.           numbers are assigned to domain numbers. In the usual case, all
  600.           network numbers learned through GRP on a particular link will be
  601.           assigned the domain number, so this step will be very easy. In
  602.           the case of a level 2 router that is not directly connected to
  603.           any Protocol Y destinations, there will be no configuration of
  604.           network number/domain correspondence. This only occurs in
  605.           routers directly connected to Protocol Y destinations and/or
  606.           Protocol Y GRP routers. The next stage is to configure which
  607.           domain numbers should be passed to and from links or from
  608.           levels. For network numbers not assigned domains (and therefore,
  609.           by default, being in "domain 0"), or to be able to make
  610.           exceptions, it should be possible to configure network numbers
  611.           in addition to domains, in the filtering information.
  612.  
  613.  
  614.           4.8. Accomodating Overlapping Addresses
  615.  
  616.           There is an additional way in which domains may be useful. They
  617.           may be useful as an extension to the Protocol Y address, when
  618.           encapsulation is used. At the cost of adding two extra bytes to
  619.           encapsulated data packets, we can include domain information for
  620.           the source and for the destination. This allows interconnection
  621.           of Protocol Y islands, even if they have overlapping addresses.
  622.           The way this would be accomplished is:
  623.  
  624.            ------------+  +-----------+   +---------------------+
  625.             A GRP      |  |           |   |               B     |
  626.              cloud R2--+--R1  IS-IS  R3---+---R4                |
  627.           -------------+  |           |   |       GRP cloud     |
  628.                           +-----------+   +---------------------+
  629.  
  630.  
  631.  
  632.           Suppose there are overlapping protocol Y addresses in the left
  633.           and right GRP clouds. R1 could be configured to assign every
  634.           network number it hears through its link to R2 as "domain 7". R3
  635.           could be configured to assign every network number it hears
  636.           through its link to R4 as "domain 12". When reporting
  637.           information in its LSP, R1 tags it with "domain 7". Likewise R3
  638.           tags the Protocol Y destinations it hears through R4.
  639.  
  640.           Now suppose A wants to send a packet to B. Let's say B is on
  641.           network 3, but there's already a network 3 assigned in the left
  642.           GRP cloud. R1 must be configured with mapping information. It
  643.           must have an unused Protocol Y network number, say 51, and use
  644.           that instead of "domain 12, network 3". A will address the
  645.  
  646.  
  647.  
  648.           Perlman   (Internet-Draft expires end December 1993)   [Page 11]
  649.  
  650.           Internet-Draft     Further Integration of ISIS         June 1993
  651.  
  652.  
  653.  
  654.           packet to network 51. When it reaches R1, R1 will change the
  655.           destination address inside the Protocol Y packet to "3" and
  656.           include "destination domain 12" in the encapsulation header (as
  657.           well as "source domain 7").
  658.  
  659.           When it reaches R3, assuming that the source network number is
  660.           used in the right GRP cloud, then R3 will similarly have to
  661.           translate the source address in the Protocol Y header before
  662.           forwarding the packet for R4.
  663.  
  664.  
  665.           4.9. When To Encapsulate
  666.  
  667.           In general we will attempt to encapsulate only if necessary. It
  668.           will be necessary to encapsulate if:
  669.  
  670.           1.  We wish to overcome a limitation of Protocol Y, for
  671.               instance the hop count limit in Appletalk
  672.  
  673.           2.  We wish to exploit domains for address mapping
  674.  
  675.           3.  Not all routers on the path support Protocol Y
  676.  
  677.           The LSP option announcing reachability of destination D will
  678.           carry an encapsulation destination, and an indication of whether
  679.           encapsulation is necessary. As an optimization, to save room in
  680.           the LSP, the level 1 LSP that first announces D will not carry
  681.           an encapsulation destination, since it is the source of the LSP,
  682.           say R1, that is the encapsulation destination. If a level 2
  683.           router R2 then puts D in its level 2 LSP, then R2 will include
  684.           R1's address as the encapsulation destination, together with a
  685.           flag indicating whether encapsulation is necessary to get it
  686.           from R2 to D.
  687.  
  688.           Destination D gets introduced into the IS-IS level 1 LSPs in
  689.           area A by a router R in area A that discovers D through one of
  690.           the following:
  691.  
  692.           1.  R has been manually configured that D is reachable on one
  693.               of its ports.
  694.  
  695.           2.  R has a GRP (protocol Y router) neighbor that announces D
  696.               in the Protocol Y specific routing protocol.
  697.  
  698.           3.  R is a level 2 router, and has learned about D through
  699.               level 2 LSPs.
  700.  
  701.           4.  R is a router with a protocol Y tunnel, and has learned of
  702.               D through the tunnel.
  703.  
  704.  
  705.  
  706.  
  707.           Perlman   (Internet-Draft expires end December 1993)   [Page 12]
  708.  
  709.           Internet-Draft     Further Integration of ISIS         June 1993
  710.  
  711.  
  712.  
  713.           In the first two cases, R will indicate that encapsulation to D
  714.           is not necessary unless R has been configured to announce D as
  715.           needing encapsulation. The network manager might do this for
  716.           many reasons, for instance to overcome hop count limits in
  717.           Appletalk data packets. R might have been explicitly configured
  718.           to announce destination D as needing encapsulation, or it might
  719.           be configured that a particular domain number should be
  720.           announced that way, and D was configured to be in that domain
  721.           number, or it might have been configured to announce all
  722.           protocol Y destinations as needing encapsulation.
  723.  
  724.           In the third case (R is a level 2 router that has learned about
  725.           D through level 2 LSPs), R will indicate that encapsulation to D
  726.           is necessary if the level 2 LSP from which R hears about D
  727.           indicates encapsulation is necessary.
  728.  
  729.           Otherwise, R will report D as not requiring encapsulation. The
  730.           "don't need to encapsulate" flag is only a hint. It is possible
  731.           for encapsulation to be required, even if the flag is set,
  732.           because the traffic will exit the area at the nearest Protocol-Y
  733.           capable level 2 router, and the path from that level 2 router to
  734.           D might encounter a router that is not protocol-Y capable. In
  735.           that case, the packet will get encapsulated enroute, which is
  736.           not a problem.
  737.  
  738.           In the fourth case (R learned of D through a tunnel), R will
  739.           always indicate that encapsulation is necessary.
  740.  
  741.           When receiving a packet for forwarding, a router R directly
  742.           attached to protocol Y nodes has a mapping from protocol Y
  743.           addresses to domains. If either the source or destination
  744.           address is mapped to a domain other than 0 (default), then the
  745.           packet is encapsulated (unless it's being forwarded directly by
  746.           R to another link on which the neighbor is a protocol Y node).
  747.  
  748.           Otherwise, the packet is forwarded in native mode unless the
  749.           neighbor to which the packet is to be forwarded is not protocol
  750.           Y capable, or if the LSP that announced D indicates that
  751.           encapsulation is needed (it came through a tunnel, or the level
  752.           2 router that is announcing it notices that its path to the
  753.           destination requires encapsulation).
  754.  
  755.  
  756.           4.10. Tunnel Protocol
  757.  
  758.           When R1 in area A and R2 in area B have a tunnel configured,
  759.           they have to exchange information. It is similar to LSP
  760.           information, but actual LSPs do not flow over the tunnel.
  761.           Therefore, we need to define the format of the information
  762.           flowing over the tunnel.
  763.  
  764.  
  765.  
  766.           Perlman   (Internet-Draft expires end December 1993)   [Page 13]
  767.  
  768.           Internet-Draft     Further Integration of ISIS         June 1993
  769.  
  770.  
  771.  
  772.           The information to be included is the Protocol Y information
  773.           that would appear in a level 2 LSP.
  774.  
  775.  
  776.           4.11. Routing Algorithm
  777.  
  778.           Jeff Pickering suggested that routing to D always be toward the
  779.           encapsulation destination, whether or not the packet to D needs
  780.           to be encapsulated. I found this rather mind-boggling, but I
  781.           finally did understand that it works just fine, and it
  782.           eliminates potential suboptimality of routing, like when a
  783.           packet is initially directed towards D and then, because
  784.           encapsulation is required, it gets diverted towards the
  785.           encapsulation destination. In most cases, the actual routes are
  786.           identical whether the packet is directed towards D or towards
  787.           the encapsulation destination.
  788.  
  789.           So the routing algorithm figures out, from possibly multiple
  790.           encapsulation destinations, which is the proper encapsulation
  791.           destination, and then routes to the encapsulation destination.
  792.  
  793.           The following rules specify how router R chooses how to route to
  794.           D.
  795.  
  796.           1.  If there is exactly one LSP announcing D as being reachable
  797.               within the area, say R1's LSP, then the packet is routed to
  798.               R1 regardless of whether there might be other LSPs
  799.               advertising R1. (The other LSPs will be advertising it as
  800.               reachable outside the area.)
  801.  
  802.           2.  If two level 1 LSPs announce D, say R1's and R2's, and they
  803.               both specify D as being in the area, then the packet is
  804.               routed according to the least cost path to D. (The cost
  805.               from R to R1 is added to R1's advertised cost to D, and the
  806.               costfrom R to R2 is added to R2's advertised cost to D. If
  807.               the cost through R1 is smaller, the packet is routed
  808.               towards R1.)
  809.  
  810.           3.  Else, (all LSPs announcing D have hops (pseudohops) instead
  811.               of IS-IS cost), find the LSP announcing the smallest number
  812.               of hops. This applies even if some of the LSPs are level 1
  813.               LSPs and some are level 2 LSPs. The LSP advertising the
  814.               smallest number of hops is chosen. If more than one LSP
  815.               announces the same smallest number of hops, then a level 1
  816.               LSP is preferred over a level 2 LSP. If there is a tie
  817.               among equal-level LSPs, then the LSP of the closest (in
  818.               terms of IS-IS path cost) router is chosen.
  819.  
  820.               Once the LSP is chosen, take the encapsulation destination
  821.               reported in that LSP, and the route to D is the route to
  822.  
  823.  
  824.  
  825.           Perlman   (Internet-Draft expires end December 1993)   [Page 14]
  826.  
  827.           Internet-Draft     Further Integration of ISIS         June 1993
  828.  
  829.  
  830.  
  831.               that encapsulation destination.
  832.  
  833.               If the encapsulation destination is outside the area, then
  834.               normal IS-IS routing routes to the nearest level 2 router.
  835.               Note that this may not be a Protocol Y capable level 2
  836.               router. In that case, the packet to D will wind up
  837.               gettingencapsulated enroute. We could change the routing
  838.               decision to have routing be to the nearest Protocol Y
  839.               capable level 2 router, but I don't think it's worth the
  840.               complication.
  841.  
  842.  
  843.           5. Specific Proposal
  844.  
  845.           Some specifics apply to any protocol. This section contains
  846.           information that is applicable to any protocol being supported
  847.           by Integrated IS-IS.
  848.  
  849.  
  850.           5.1. Data Packet Encapsulation
  851.  
  852.           When Protocol Y is encapsulated in IP, IP has a one byte
  853.           "protocol type" field. Assuming Protocol Y is assigned a
  854.           protocol type value, an encapsulated Protocol Y packet looks
  855.           like:
  856.  
  857.                                               # of octets
  858.           +----------------------------------+
  859.           | IP header (with Protocol type=Y) | variable
  860.           +----------------------------------+
  861.           | source domain number             |    1
  862.           +----------------------------------+
  863.           | destination domain number        |    1
  864.           +----------------------------------+
  865.           | original protocol Y packet       | variable
  866.           +----------------------------------+
  867.  
  868.  
  869.  
  870.           When Protocol Y is encapsulated in CLNP, there must be a method
  871.           of specifying the protocol type of the encapsulated packet.
  872.           Either this is done by having some authority allocate the final
  873.           byte of the destination address (the SEL octet) as a protocol
  874.           type, or the first byte of the data becomes a protocol type,
  875.           which also must be assigned by some authority.
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.           Perlman   (Internet-Draft expires end December 1993)   [Page 15]
  885.  
  886.           Internet-Draft     Further Integration of ISIS         June 1993
  887.  
  888.  
  889.  
  890.           If the first byte of the data is the protocol type, the packet
  891.           looks like this:
  892.  
  893.                                               # of octets
  894.           +----------------------------------+
  895.           |       CLNP header                | variable
  896.           +----------------------------------+
  897.           |       protocol type              |    1
  898.           +----------------------------------+
  899.           | source domain number             |    1
  900.           +----------------------------------+
  901.           | destination domain number        |    1
  902.           +----------------------------------+
  903.           | original Protocol Y packet       |
  904.           +----------------------------------+
  905.  
  906.           If instead the final byte of the destination address ("the
  907.           destination NSAP") is used as a protocol type, then the packet
  908.           looks like this:
  909.  
  910.                                               # of octets
  911.           +----------------------------------+
  912.           |       CLNP header                | variable
  913.           +----------------------------------+
  914.           | source domain number             |    1
  915.           +----------------------------------+
  916.           | destination domain number        |    1
  917.           +----------------------------------+
  918.           | original Protocol Y packet       |
  919.           +----------------------------------+
  920.  
  921.           When encapsulating the packet, the hop count (or "time to live"
  922.           as it is called in many protocols) in the original Protocol Y
  923.           packet should be decremented by 1.
  924.  
  925.  
  926.           5.2. "Protocols Supported" Field
  927.  
  928.           This field appears in IS-IS (10589 defined) Hellos, ES-IS (9542
  929.           defined) Hellos transmitted by ISs, and LSPs. Values must be
  930.           assigned for each Protocol Y we wish to support.
  931.  
  932.  
  933.           5.3. Network Management Information
  934.  
  935.  
  936.           5.3.1. Parameters Node-wide (not Per Circuit Or Tunnel)
  937.  
  938.           This is for IS-IS routers that are directly attached to Protocol
  939.           Y nodes.
  940.  
  941.  
  942.  
  943.           Perlman   (Internet-Draft expires end December 1993)   [Page 16]
  944.  
  945.           Internet-Draft     Further Integration of ISIS         June 1993
  946.  
  947.  
  948.  
  949.           1.  Protocol Y domains for which Protocol Y information should
  950.               be included in level 1 IS-IS LSPs
  951.  
  952.           2.  Protocol Y domains for which Protocol Y information should
  953.               be included in level 2 IS-IS LSPs
  954.  
  955.           3.  Protocol Y domains for which Protocol Y information learned
  956.               from level 2 LSPs should be included in level 1 IS-IS LSPs
  957.  
  958.           4.  (Appletalk specific) flag for whether zone information
  959.               should appear in level 1 LSP
  960.  
  961.               ????Perhaps a set of net number ranges for which zone
  962.               information should appear in LSPs -- others would have to
  963.               be gotten explicitly through ZIP.
  964.  
  965.               I strongly recommend we not put zone info into LSPs, and
  966.               instead have that information obtained through ZIP.
  967.  
  968.           5.  (Appletalk specific) flag for whether zone information
  969.               should appear in level 2 LSP
  970.  
  971.               Same comment -- I think zone information shouldn't go into
  972.               LSPs
  973.  
  974.           6.  flag for whether encapsulation should always be flagged as
  975.               necessary (for instance, to get around hop count
  976.               limitations in Appletalk). Or if more granularity is
  977.               wanted, a set of network numbers (which can be wildcarded,
  978.               for instance by specifying a domain) for which
  979.               encapsulation should be required.
  980.  
  981.  
  982.           5.3.2. Parameters Per Circuit
  983.  
  984.           1.  set of (Protocol y address, domain) pairs for that circuit.
  985.               In the case of Appletalk, an "address" is a network number
  986.               range)
  987.  
  988.           2.  set of (domain, internal protocol Y network number,
  989.               external Protocol Y network number) for address remapping
  990.  
  991.           3.  filters for which domains information should pass into or
  992.               out of this circuit
  993.  
  994.           4.  set of (domain, domain) pairs for which domain pairs are
  995.               allowed to intercommunicate (default is "all")
  996.  
  997.  
  998.           5.3.3. Parameters Per Tunnel
  999.  
  1000.  
  1001.  
  1002.           Perlman   (Internet-Draft expires end December 1993)   [Page 17]
  1003.  
  1004.           Internet-Draft     Further Integration of ISIS         June 1993
  1005.  
  1006.  
  1007.  
  1008.           1.  Same information as for a circuit, plus:
  1009.  
  1010.           2.  List of endpoint addresses, to be tried in order (or which
  1011.               would be acceptable if they initiate the tunnel)
  1012.  
  1013.           3.  Flag for whether this router should initiate the tunnel or
  1014.               not
  1015.  
  1016.           4.  Set of other routers in area that, if they are up, this
  1017.               tunnel should not be initiated (this is to prevent multiple
  1018.               tunnels between the same pair of areas from coming up)
  1019.  
  1020.  
  1021.           6. Appletalk Specific Proposal
  1022.  
  1023.           In this section I'll make a specific proposal for Appletalk. A
  1024.           NLPID needs to be assigned for Appletalk, which will be used in
  1025.           data packets and in the "protocols supported" field in Hello
  1026.           messages and LSPs.
  1027.  
  1028.  
  1029.           6.1. Appletalk Only Environments
  1030.  
  1031.           If Appletalk is the only protocol, then there are some
  1032.           simplifications. One can assume there is no hierarchy, so there
  1033.           is only level 1 LSPs, and no need for inter-area route leaking.
  1034.           Also, various flags become irrelevant, like the flag for
  1035.           requiring encapsulation, and the flag indicating whether
  1036.           something is reachable in the area or not.
  1037.  
  1038.  
  1039.           6.2. Zone Information
  1040.  
  1041.           Appletalk requires routers to acquire a zone/LAN mapping table
  1042.           (where a LAN is represented by a network number range). This can
  1043.           be done in one of two ways:
  1044.  
  1045.           1.  With the ZIP protocol. For instance, R1 finds out about a
  1046.               newly reachable network number range from IS-IS router R2,
  1047.               either because R2 reports it in its LSP, or R2 has a tunnel
  1048.               to R1. In this case R1 explicitly sends an ordinary
  1049.               Appletalk ZIP query to R1 requesting the zones list for
  1050.               that network number range. The protocol message is
  1051.               encapsulated in a CLNP header (or whatever the backbone
  1052.               network layer protocol is), addressed to R2. R2 replies
  1053.               with the appropriate Appletalk ZIP reply, encapsulated with
  1054.               destination address R1.
  1055.  
  1056.           2.  By including the zones information in the LSP, or in the
  1057.               protocol used across the tunnel.
  1058.  
  1059.  
  1060.  
  1061.           Perlman   (Internet-Draft expires end December 1993)   [Page 18]
  1062.  
  1063.           Internet-Draft     Further Integration of ISIS         June 1993
  1064.  
  1065.  
  1066.  
  1067.           The advantage of the first approach is that it doesn't clutter
  1068.           up the LSP database with potentially a large volume of
  1069.           information. Not only is it a large volume of information, but
  1070.           it doesn't change that frequently and doesn't seem like the type
  1071.           of thing LSP propagation was designed for. The advantages of the
  1072.           second approach is that the information propagates more quickly,
  1073.           changing the zones list for a network number range will work
  1074.           without ugly hackery, and it is self-stabilizing (if someone for
  1075.           some reason gets the zones list wrong, it will fix itself when
  1076.           the LSP information is periodically regenerated). We recommend
  1077.           the first approach, but allow configuration of routers as to
  1078.           which network numbers to include zone information for. A router
  1079.           can be configured to always include zone information, never
  1080.           include zone information, include or exclude it for certain
  1081.           domain numbers, or include or exclude it for certain network
  1082.           number ranges. If the information for a particular network
  1083.           number range is missing, routers request the missing zone
  1084.           information with ZIP. So the mechanisms work together.
  1085.  
  1086.  
  1087.           6.3. LSPs
  1088.  
  1089.           The "protocols supported" field, which is already specified in
  1090.           RFC 1195, will have a value for Appletalk.
  1091.  
  1092.           Also, an option must be added for reporting reachable Appletalk
  1093.           destinations (network number ranges). I won't pick the option
  1094.           code.
  1095.  
  1096.           This option appears in level 1 as well as level 2 LSPs. The only
  1097.           difference is that the I/E flag is not present in level 2 LSPs.
  1098.  
  1099.                                           # of octets
  1100.           +----------------------------+
  1101.           |        DOMAIN              | 1
  1102.           +----------------------------+
  1103.           | I/C | E | I/E | E.add len  | IP/CLNP/Enc needed/intra-area
  1104.           +----------------------------+
  1105.           | ENCAPSULATION DESTINATION  |
  1106.           +----------------------------+
  1107.           | # of Appletalk destinations|
  1108.           +----------------------------+
  1109.           | H/C |         COST         | 1 - H/C => IS-IS cost or hops
  1110.           +----------------------------+
  1111.           | LOW NET NUMBER IN RANGE    |
  1112.           +----------------------------+
  1113.           | HIGH NET NUMBER IN RANGE   |
  1114.           +----------------------------+
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.           Perlman   (Internet-Draft expires end December 1993)   [Page 19]
  1121.  
  1122.           Internet-Draft     Further Integration of ISIS         June 1993
  1123.  
  1124.  
  1125.  
  1126.           To save room, this option allows reporting of multiple Appletalk
  1127.           destinations, so long as they all have the same domain number
  1128.           and the same encapsulation destination. The I/C flag indicates
  1129.           whether the encapsulation destination is IP or CLNP. The E flag
  1130.           indicates whether encapsulation is necessary. The I/E flag
  1131.           indicates whether the destination is directly reachable through
  1132.           the area, or whether information about it comes from a different
  1133.           area. The purpose of this information is so that information
  1134.           received from tunnels or from level 2 routers (who are relaying
  1135.           information from other areas) does not get re-exported through
  1136.           other tunnels. The rest of that octet gives the encapsulation
  1137.           address length, which will always be 4 for IP. In the case where
  1138.           the encapsulation destination is the source of the LSP, then
  1139.           that field is 0, indicating encapsulation address length is 0.
  1140.           The H/C flag indicates whether the cost given is an IS-IS cost
  1141.           (which is only true for the first router that introduces D into
  1142.           IS-IS -level 2 routers that summarize paths always revert to
  1143.           hops), or pseudohops.
  1144.  
  1145.           The other option is for zone information. (Note, I personally
  1146.           don't favor cluttering up LSPs with zone information, since zone
  1147.           information is rather static -- you get it once and it pretty
  1148.           much doesn't change. Sending it around in LSPs takes unnecessary
  1149.           bandwidth and memory. But some people would like to see it in
  1150.           LSPs. At least it is configurable, so it can be done either
  1151.           way.) The information in this option will be encoded as in an
  1152.           Appletalk ZIP reply, starting with the "ZIP function" octet.
  1153.  
  1154.  
  1155.           7. Specific Proposal for IPX
  1156.  
  1157.  
  1158.           7.1. Ticks Metric
  1159.  
  1160.           We will assume there is a configured scaling from IS-IS metrics
  1161.           to ticks. Within an area, it is therefore straightforward to
  1162.           find a reasonable ticks value. Assume IPX destination D is
  1163.           reachable in area A. Assume level 2 router R1 is exporting
  1164.           information about D in its level 2 LSP. R1 calculates the ticks
  1165.           value from itself to D and reports that in its level 2 LSP. When
  1166.           R2 imports information about D into area B, it calculates the
  1167.           ticks value from itself to R1 (based on scaling the IS-IS path
  1168.           cost), and adds that to the reported ticks cost in R1's LSP.
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.           Perlman   (Internet-Draft expires end December 1993)   [Page 20]
  1180.  
  1181.           Internet-Draft     Further Integration of ISIS         June 1993
  1182.  
  1183.  
  1184.  
  1185.           7.2. LSPs
  1186.  
  1187.           The "protocols supported" field, which is already specified in
  1188.           RFC 1195, will have a value for IPX.
  1189.  
  1190.           Option for reporting IPX destinations:
  1191.  
  1192.                                           # of octets
  1193.           +----------------------------+
  1194.           | DOMAIN                     | 1
  1195.           +----------------------------+
  1196.           | I/C | E | I/E | E.add len  | IP/CLNP/Enc needed/intra-area
  1197.           +----------------------------+
  1198.           | ENCAPSULATION DESTINATION  |
  1199.           +----------------------------+
  1200.           | # of IPX destinations      |
  1201.           +----------------------------+
  1202.           | H/C |         COST         | 1 - H/C => IS-IS cost or hops
  1203.           +----------------------------+
  1204.           |       ticks                |
  1205.           +----------------------------+
  1206.           | NET NUMBER                 |
  1207.           +----------------------------+
  1208.  
  1209.  
  1210.  
  1211.           To save room, this option allows reporting of multiple IPX
  1212.           destinations, so long as they all have the same domain number,
  1213.           cost, ticks, and encapsulation destination. The I/C flag
  1214.           indicates whether the encapsulation destination is IP or CLNP.
  1215.           The E flag indicates whether encapsulation is necessary. The
  1216.           rest of that octet gives the encapsulation address length, which
  1217.           will always be 4 for IP. In the case where the encapsulation
  1218.           destination is the source of the LSP, then that field is 0,
  1219.           indicating encapsulation address length is 0. The H/C flag
  1220.           indicates whether the cost given is an IS-IS cost (which is only
  1221.           true for the first router that introduces D into IS-IS -level 2
  1222.           routers that summarize paths always revert to hops), or
  1223.           pseudohops.
  1224.  
  1225.           I'm not sure we should bother with SAP information. I heard a
  1226.           rumor that SAP information will go away in IPX and be replaced
  1227.           by a naming service kind of thing.
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.           Perlman   (Internet-Draft expires end December 1993)   [Page 21]
  1239.  
  1240.           Internet-Draft     Further Integration of ISIS         June 1993
  1241.  
  1242.  
  1243.  
  1244.           Option for reporting SAP information:
  1245.  
  1246.                                           # of octets
  1247.           +----------------------------+
  1248.           |       HOPS                 |  1
  1249.           +----------------------------+
  1250.           | SERVER NAME length         |  1
  1251.           +----------------------------+
  1252.           | SERVER NAME                | variable
  1253.           +----------------------------+
  1254.           | SERVER ADDRESS             |  12 (4=net, 6=ID, 2=socket)
  1255.           +----------------------------+
  1256.           |       ....                 | server info (cost, name, add)
  1257.           +----------------------------+
  1258.           |       HOPS                 |  1
  1259.           +----------------------------+
  1260.           | SERVER NAME length         |  1
  1261.           +----------------------------+
  1262.           | SERVER NAME                | variable
  1263.           +----------------------------+
  1264.           | SERVER ADDRESS             |  12 (4=net, 6=ID, 2=socket)
  1265.           +----------------------------+
  1266.  
  1267.  
  1268.           7.3. IPX-specific Network Management Information
  1269.  
  1270.           Same information as Appletalk. Perhaps instead of trying to
  1271.           calculate an inter-area ticks value by scaling IS-IS costs, we
  1272.           might instead configure an "area ticks increment" and a "level 2
  1273.           ticks increment" and, for each tunnel, a "tunnel ticks
  1274.           increment". When reporting D, learned from the area, into a
  1275.           tunnel or into a level 2 LSP, add the area ticks increment. When
  1276.           reporting information learned through a tunnel, add the tunnel
  1277.           ticks increment configured for that tunnel. When reporting
  1278.           information learned through level 2 LSPs into an area, use the
  1279.           level 2 ticks increment.
  1280.  
  1281.           This is simpler and might be sufficiently accurate, especially
  1282.           since the more complex scheme of trying to figure it out isn't
  1283.           necessarily right (the packet won't necessarily be routed to the
  1284.           level 2 router that exported the route to D out of D's area, for
  1285.           instance).
  1286.  
  1287.  
  1288.           8. Security Considerations
  1289.  
  1290.           Security issues are not discussed in this memo.
  1291.  
  1292.  
  1293.           9. References
  1294.  
  1295.  
  1296.  
  1297.           Perlman   (Internet-Draft expires end December 1993)   [Page 22]
  1298.  
  1299.           Internet-Draft     Further Integration of ISIS         June 1993
  1300.  
  1301.  
  1302.  
  1303.           [1]Callon, R.W, "Use of OSI IS-IS for Routing in TCP/IP and dual
  1304.               environments", RFC 1195, December 1990.
  1305.  
  1306.           [2]"Information Technology - Telecommunications and information
  1307.               exchange between systems - Intermediate system to
  1308.               Intermediate system Intra-Domain routeing exchange protocol
  1309.               for use in Conjunction with the Protocol for providing the
  1310.               Connectionless-mode Network Service (ISO 8473)",
  1311.               International Standard 10589 (ISO submission copy), October
  1312.               1991.
  1313.  
  1314.  
  1315.           10. Working Group information
  1316.  
  1317.           The current co-chairs of the ISIS working group are:
  1318.  
  1319.              Ross Callon
  1320.              Wellfleet Communications Inc.
  1321.              12 DeAngelo Drive
  1322.              Bedford
  1323.              MA 01730-2204
  1324.              USA
  1325.  
  1326.              Phone:   (617) 280 2436
  1327.              Email:   rcallon@wellfleet.com
  1328.  
  1329.              Chris Gunner
  1330.              Digital Equipment Corp.
  1331.              550 King Street
  1332.              Littleton
  1333.              MA 01460-1289
  1334.              USA
  1335.  
  1336.              Phone:   (508) 486 7792
  1337.              Fax:     (508) 486 5279
  1338.              Email:   gunner@dsmail.enet.dec.com
  1339.  
  1340.  
  1341.  
  1342.           The working group mailing list is:
  1343.  
  1344.              isis@merit.edu
  1345.  
  1346.  
  1347.  
  1348.           Subscription requests should be sent to:
  1349.  
  1350.              isis-request@merit.edu
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.           Perlman   (Internet-Draft expires end December 1993)   [Page 23]
  1357.  
  1358.           Internet-Draft     Further Integration of ISIS         June 1993
  1359.  
  1360.  
  1361.  
  1362.           11. Author's Address
  1363.  
  1364.              Radia Perlman
  1365.              Digital Equipment Corp.
  1366.              550 King Street
  1367.              Littleton
  1368.              MA 01460-1289
  1369.              USA
  1370.  
  1371.              Phone:   (508) 486 7648
  1372.              Fax:     (508) 486 5279
  1373.              Email:   perlman@dsmail.enet.dec.com
  1374.  
  1375.              Chris Gunner
  1376.              (see chair information for address, etc.)
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.           Perlman   (Internet-Draft expires end December 1993)   [Page 24]
  1416.